package org.jeecg.modules.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecg.modules.entity.RunnerMatchDevice;
import org.jeecg.modules.entity.RunnerMatchGuns;
import org.jeecg.modules.entity.RunnerMatchInfo;
import org.jeecg.modules.entity.RunnerMatchPlayer;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.jeecgframework.poi.excel.annotation.ExcelCollection;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @Description: 赛事
 * @Author: jeecg-boot
 * @Date:   2022-12-04
 * @Version: V1.0
 */
@Data
@ApiModel(value="runner_matchPage对象", description="赛事")
public class RunnerMatchPage {

	/**主键*/
	@ApiModelProperty(value = "主键")
    private String id;
	/**创建人*/
	@ApiModelProperty(value = "创建人")
    private String createBy;
	/**创建日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "创建日期")
    private Date createTime;
	/**更新人*/
	@ApiModelProperty(value = "更新人")
    private String updateBy;
	/**更新日期*/
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "更新日期")
    private Date updateTime;
	/**所属部门*/
	@ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
	/**赛事名称*/
	@Excel(name = "赛事名称", width = 15)
	@ApiModelProperty(value = "赛事名称")
    private String mname;
	/**赛事开始时间*/
	@Excel(name = "赛事开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "赛事开始时间")
    private Date mbegintime;
	/**赛事结束时间*/
	@Excel(name = "赛事结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
	@ApiModelProperty(value = "赛事结束时间")
    private Date mendtime;
	/**赛事主办单位*/
	@Excel(name = "赛事主办单位", width = 15)
	@ApiModelProperty(value = "赛事主办单位")
    private String morg;
	/**通过终点次数*/
	@Excel(name = "通过终点次数", width = 15)
	@ApiModelProperty(value = "通过终点次数")
    private Integer runnernum;
	/**时间间隔（秒）*/
	@Excel(name = "时间间隔（秒）", width = 15)
	@ApiModelProperty(value = "时间间隔（秒）")
    private Integer timeinterval;
	/**标签位数（默认12位）*/
	@Excel(name = "标签位数（默认12位）", width = 15)
	@ApiModelProperty(value = "标签位数（默认12位）")
    private Integer tagsnum;
	/**备注*/
	@Excel(name = "备注", width = 15)
	@ApiModelProperty(value = "备注")
    private String mtext;
	/**比赛状态*/
	@Excel(name = "比赛状态", width = 15, dicCode = "matchstatus")
    @Dict(dicCode = "matchstatus")
	@ApiModelProperty(value = "比赛状态")
    private String mstatus;

	@ExcelCollection(name="赛事人员")
	@ApiModelProperty(value = "赛事人员")
	private List<RunnerMatchPlayer> runnerMatchPlayerList;
	@ExcelCollection(name="赛事设备")
	@ApiModelProperty(value = "赛事设备")
	private List<RunnerMatchDevice> runnerMatchDeviceList;
	@ExcelCollection(name="赛事发令枪")
	@ApiModelProperty(value = "赛事发令枪")
	private List<RunnerMatchGuns> runnerMatchGunsList;
	@ExcelCollection(name="赛事组信息")
	@ApiModelProperty(value = "赛事组信息")
	private List<RunnerMatchInfo> runnerMatchInfoList;

}
